package ventanas;

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import com.jgoodies.forms.layout.FormLayout;
import com.jgoodies.forms.layout.ColumnSpec;
import com.jgoodies.forms.layout.RowSpec;
import com.jgoodies.forms.factories.FormFactory;

import controladores.ControladorBusquedaEspecialidades;

import javax.swing.DefaultListModel;
import javax.swing.JTextField;
import javax.swing.JButton;
import javax.swing.JList;
import negocio.Especialidad;
import javax.swing.JScrollPane;

public class VentanaBusquedaEspecialidades extends JFrame {

	private static final long serialVersionUID = 1L;
	private JPanel contentPane;
	private final JTextField txtBuscarEspecialidad = new JTextField();
	private final JButton btnBuscarEspecialidad = new JButton("Buscar Especialidad");
	private final JList<Especialidad> lista = new JList<Especialidad>();
	private final JButton btnC = new JButton("C");
	private final JButton btnNuevaEspecialidad = new JButton("Nueva Especialidad");
	private ControladorBusquedaEspecialidades controlador;
	private final JScrollPane scrollPane = new JScrollPane();

	public VentanaBusquedaEspecialidades() {
		setTitle("B\u00FAsqueda de Especialidad");
		this.controlador = new ControladorBusquedaEspecialidades(this);
		initGUI();
		agregarListeners();
	}
	
	private void initGUI() {
		txtBuscarEspecialidad.setColumns(10);
		setBounds(100, 100, 496, 369);
		contentPane = new JPanel();
		contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
		setContentPane(contentPane);
		contentPane.setLayout(new FormLayout(new ColumnSpec[] {
				ColumnSpec.decode("max(175dlu;default):grow"),
				FormFactory.RELATED_GAP_COLSPEC,
				ColumnSpec.decode("max(84dlu;default)"),},
			new RowSpec[] {
				FormFactory.DEFAULT_ROWSPEC,
				FormFactory.RELATED_GAP_ROWSPEC,
				FormFactory.DEFAULT_ROWSPEC,
				FormFactory.RELATED_GAP_ROWSPEC,
				RowSpec.decode("max(90dlu;default):grow"),
				FormFactory.RELATED_GAP_ROWSPEC,
				RowSpec.decode("max(30dlu;default)"),}));
		contentPane.add(txtBuscarEspecialidad, "1, 1, fill, center");
		contentPane.add(btnBuscarEspecialidad, "3, 1");
		contentPane.add(btnC, "3, 3");
		
		contentPane.add(scrollPane, "1, 5, fill, fill");
		scrollPane.setViewportView(lista);
		lista.setModel(new DefaultListModel<Especialidad>());
		contentPane.add(btnNuevaEspecialidad, "3, 5");
		this.setVisible(true);
		this.setLocationRelativeTo(null);
		this.pack();
	}
	
	private void agregarListeners(){
		btnBuscarEspecialidad.addActionListener(controlador);
		btnC.addActionListener(controlador);
		btnNuevaEspecialidad.addActionListener(controlador);
		lista.addMouseListener(controlador);
	}
	
	public JButton getBtnBuscarEspecialidad() {
		return btnBuscarEspecialidad;
	}
	
	public JList<Especialidad> getLista() {
		return lista;
	}
	
	public JButton getBtnC() {
		return btnC;
	}
	
	public JButton getBtnNuevaEspecialidad() {
		return btnNuevaEspecialidad;
	}
	
	public JTextField getTxtBuscarEspecialidad() {
		return txtBuscarEspecialidad;
	}
}
